package cn.zjitc.quickstart.util;

import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Base64;


public class DownLoadUtils {

    public static String getFileName(String agent, String filename) {
        try {
            if (agent.contains("MSIE")) {
                // IE浏览器：URL编码并替换 "+" 为空格
                filename = URLEncoder.encode(filename, String.valueOf(StandardCharsets.UTF_8));
                filename = filename.replace("+", " ");
            } else if (agent.contains("Firefox")) {
                // 火狐浏览器：Base64 编码
                String encodedName = Base64.getEncoder().encodeToString(filename.getBytes(StandardCharsets.UTF_8));
                filename = "=?utf-8?B?" + encodedName + "?=";
            } else {
                // 其它浏览器：标准 URL 编码
                filename = URLEncoder.encode(filename, String.valueOf(StandardCharsets.UTF_8));
            }
        } catch (Exception e) {
            // 可选：记录日志 或 忽略异常，返回原文件名
            // Logger.warn("文件名编码失败", e);
        }
        return filename;
    }
}